package com.enjoyor.soa.traffic.api.service.dubbo.bigdata;

import com.enjoyor.soa.traffic.api.dto.bigdata.VehRestrictionDto;
import com.enjoyor.soa.traffic.util.pojo.Page;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

public interface DubboVehRestrictionService {

    /**
     * 新增限号规则设置
     *
     * @param token             系统令牌
     * @param vehRestrictionDto 限号规则dto
     * @return
     */
    public ResultPojo insertVehRestriction(String token, VehRestrictionDto vehRestrictionDto);

    /**
     * 删除限号规则设置
     *
     * @param token 系统令牌
     * @param id    限号规则id
     * @return
     */
    public ResultPojo deleteVehRestriction(String token, Integer id);

    /**
     * 更新限号规则设置
     *
     * @param token             系统令牌
     * @param vehRestrictionDto 限号规则dto
     * @return
     */
    public ResultPojo updateVehRestriction(String token, VehRestrictionDto vehRestrictionDto);

    /**
     * 更新启用状态
     *
     * @param token  系统令牌
     * @param id     限号规则id
     * @param status 启用状态
     * @return
     */
    public ResultPojo updateVehRestrictionStatus(String token, Integer id, Integer status);

    /**
     * 查询限号规则设置
     *
     * @param token 系统令牌
     * @return
     */
    public ResultPojo queryVehRestriction(String token, Page page);

    /**
     * 根据id查询限号规则详情
     *
     * @param token 系统令牌
     * @param id    限号规则id
     * @return
     */
    public ResultPojo queryVehRestrictionDetail(String token, Integer id);

    /**
     * 根据id查询限号卡口点位
     *
     * @param token 系统令牌
     * @param id    限号规则id
     * @return
     */
    public ResultPojo queryVehRestrictionKk(String token, Integer id);
}
